import { Program, ProgramType, Tag, TagType } from './dto';

// export abstract class AbstractAPI {
//   abstract test(s: Date): Promise<string>;

//   abstract get_user_name(): Promise<string>;

//   abstract say_hello(name: string): Promise<string>;

//   abstract get_program_line(date_str: string|void): Promise<Array<Program>>;

//   abstract get_program_types(): Promise<Array<ProgramType>>;

//   abstract get_tag_line(date_str: string|void): Promise<Array<Tag>>;

//   abstract get_tag_types(): Promise<Array<TagType>>;

//   abstract update_tag_type(id: number, name: string | null, color: string | null): Promise<boolean>;

//   abstract create_file_dialog(): Promise<Array<object>>;

//   // abstract read_base64_file(path: string): Promise<string>;

//   abstract read_file(path: string): Promise<string>;

//   abstract hide(): Promise<null>;

//   abstract get_last_capture_path(timestamp: number): Promise<string>;

//   abstract read_file_byte_list(path: string): Promise<Int8Array>;

//   abstract add_tag(name: string, begin_timestamp: number, end_timestamp: number, note: string | null): Promise<boolean>;

//   abstract update_tag(
//     id: number,
//     name: string | null,
//     begin_timestamp: number | null,
//     end_timestamp: number | null,
//     note: string | null
//   ): Promise<boolean>;

//   abstract set_clock(second: number): Promise<string>;

//   abstract cancel_clock(job_id: string): Promise<null>;
// }
